Как мы показали раньше, Web-служба представляет собой не что иное, как обработчик запросов, поступающих по протоколу передачи гипертекстовых файлов HTTP. В качестве такового Web-служба имеет доступ к внутренним объектам, которые содержатся в этих запросах. Внутренние объекты запроса, передающегося по протоколу передачи гипертекстовых файлов HTTP, обсуждались в разделе "Состояния в приложениях ASP.NET" главы 10 "ASP.NET и Web-формы". Доступ к этим внутренним объектам обеспечивают свойства, которые содержатся в классе WebService.
Класс Web-службы не обязательно должен быть производным от класса WebService, который входит в состав каркаса. При необходимости класс Web-службы может быть производным от любого базового класса. Тогда получить доступ к внутренним объектам можно с помощью рассматриваемого объекта HttpContext. Класс WebService является производным от класса MarshalByRefObject. Поэтому, если класс вашей Web-службы является производным от другого базового класса и вы хотите, чтобы служба об-" рабатывала удаленные запросы, тогда убедитесь, что ее класс является производным от класса MarshalByRef Object. Информацию о запросе, который передается по протоколу передачи гипертекстовых файлов HTTP, можно получить с помощью объекта HttpContext. Информацию о текущем запросе можно получить при помощи статического свойства Current (Текущий).